home *** CD-ROM | disk | FTP | other *** search
-
-
- #import "TeXfigImageView.h"
-
- @implementation TeXfigImageView
-
-
- static char textbuffer[1024]="blah I hope this works";
-
-
- -initFrame:(const NXRect*)r
- {
- [super initFrame: r];
-
- // select a font for the text
- font = [Font newFont: "Times-Bold"
- size:15
- matrix:NX_IDENTITYMATRIX];
- imageid = 0;
- pb = [Pasteboard new];
-
- return self;
- }
-
- - newImage:(id) image
- {
- imageid = image;
- [self display];
- return self;
- }
-
-
-
- - drawSelf:(const NXRect *)rects :(int)rectCount
- {
- NXRect aRect=rects[0];
-
- // if the image is null, then simplay clear
- // the background, and write something
- // useful
- if(imageid==0){
- PSgsave();
- NXSetColor(NX_COLORWHITE);
- NXRectFill(rects);
- PSmoveto(0.0,0.0);
- [font set];
- PSshow("No image to display");
- PSgrestore();
- } else {
- // clear what's there
- NXPoint pt = {0.0, 0.0};
- PSgsave();
- NXSetColor(NX_COLORWHITE);
- NXRectFill(rects);
- [imageid composite:NX_SOVER toPoint:&pt];
- PSgrestore();
- }
- return self;
- }
-
- - copy: sender
- {
- NXStream *stream;
- int length, maxlength=10000;
- char *data;
- id aList, anImageRep;
- int i;
-
- aList = [imageid representationList];
- anImageRep = nil;
- for(i=0;i<[aList count]; i++)
- if([[aList objectAt: i] class] == [NXEPSImageRep class])
- anImageRep = [aList objectAt: i];
-
- if(anImageRep==nil) return self;
- [pb declareTypes: &NXPostScriptPboardType num: 1 owner: sender];
- [anImageRep getEPS: &data length: &length];
- [pb writeType:NXPostScriptPboardType data:data length:length];
- return self;
- }
- @end
-